#ifndef PARTICLE_OBJ_H
#define PARTICLE_OBJ_H

#include <random>
#include "BaseTypes.h"

class ParticleObj {
public:
	int _radius;
	double _dt;
	Double2 _x;
	Double2 _v;
	Double2 _a;
	ParticleObj() {};
	ParticleObj(
		double dt,
		int radius,
		Double2 x,
		Double2 v,
		Double2 a,
		Double2 a_delta_range,
		int lifespan
	);
	~ParticleObj() {};
	void update(std::mt19937& random_engine);
	bool _is_active = false;

	int _lifespan;

private:
	Double2 _a_delta_range;

	std::uniform_real_distribution<double> _distribution;

	void _shrink();
};
#endif
